Стандартные роли
Область применения: управляемое приложение, обычное приложение.
1.1. Если в конфигурации есть разграничение прав доступа пользователей к данным информационной базы, то настройку доступа следует выполнять с помощью ролей. Роли должны создаваться разработчиком конфигурации исходя из задачи ограничения доступа пользователей к данным.
1.2. В простейшем случае, роли в конфигурации могут непосредственно соответствовать должностным обязанностям пользователей (Директор, Бухгалтер, Кладовщик и т.п.).
Для возможности более тонкой настройки прав доступа администратором, роли могут соответствовать более «мелким» отдельным функциям, совокупность которых образует набор прав для конкретной категории пользователей. В этом случае пользователям назначается комбинация ролей (например, ЧтениеПроизводственныхДокументов, ДобавлениеИзменениеСкладскихДокументов, ЧтениеНСИ и т.п.). Для упрощения администрирования рекомендуется поставлять в составе конфигурации типовые комбинации таких ролей (например, готовый профиль для директора, бухгалтера, кладовщика и т.п.) При использовании в конфигурации Библиотеки стандартных подсистем для этого можно воспользоваться средствами подсистемы «Управление доступом».
2. В конфигурации должны быть определены три обязательные роли, которые предназначены для «прикладного» и системного администрирования информационной базы, а также для интерактивного открытия внешних отчетов и обработок:
ПолныеПрава (синоним «Полные права»), АдминистраторСистемы (синоним «Администратор системы») и ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок (синоним «Интерактивное открытие внешних отчетов и обработок»).
2.1. ПолныеПрава (англ. FullAccess) - обязательная роль, которая предоставляет неограниченный доступ ко всем «прикладным» данным информационной базы, но не дает прав доступа для администрирования информационной базы в целом (обновление конфигурации, работа в конфигураторе и т.п.).
Эта роль должна:
- позволять самостоятельное использование (может быть назначена пользователям);
- предоставлять неограниченный доступ ко всем данным области (к разделенным данным), кроме права интерактивного удаления (см. также п.5);
- позволять выполнять все административные действия с областью данных (администрирование пользователей, настройка программы, удаление помеченных объектов и т.п.);
- включать в себя перечисленные права:
- Администрирование данных
- Активные пользователи
- Журнал регистрации
- Монопольный режим
- Тонкий клиент
- Веб-клиент
- Сохранение данных пользователя
- Вывод
В случае если конфигурация рассчитана на работу в модели сервиса, то роль ПолныеПрава назначается администраторам абонентов (администраторам областей данных).
При работе конфигурации в локальном режиме роль ПолныеПрава назначается пользователям совместно с ролью АдминистраторСистемы, так как в этом режиме функции системного и «прикладного» администрирования информационной базы, как правило, совмещены.
2.2. АдминистраторСистемы (англ. SystemAdministrator) – обязательная роль, предоставляющая дополнительные права на администрирование информационной базы в целом (обновление конфигурации, работа в конфигураторе и т.п.).
Эта роль должна:
-
назначаться пользователям только совместно с ролью ПолныеПрава;
-
предоставлять неограниченный доступ ко всем неразделенным данным информационной базы;
-
содержать все права доступа к объектам (кроме права интерактивного удаления - см. ниже п.5);
-
включать в себя все права к корню конфигурации (в частности, права Администрирование и Администрирование данных), кроме прав Интерактивное открытие внешних отчетов и Интерактивное открытие внешних обработок.
2.3. ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок (англ. InteractiveOpenExternalReportsAndDataProcessors) обязательная роль, предоставляющая дополнительные права на открытие внешних отчетов и обработок через меню «Файл – Открыть».
Эта роль должна:
- включать в себя права к корню конфигурации Интерактивное открытие внешних отчетов и Интерактивное открытие внешних обработок.
При работе конфигурации в локальном режиме роль ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок назначается администраторам, но в целях повышения безопасности информационной базы администратор может запретить использование данной роли.
При работе в модели сервиса роли АдминистраторСистемы, ПолныеПрава и ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок назначаются администраторам сервиса.
2.4. Роли ПолныеПрава, АдминистраторСистемы и ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок должны устанавливаться как основные роли конфигурации (свойство ОсновныеРоли).
3. Роли для настройки общих прав на информационную базу. В случае если в конфигурации для пользователей необходимо настраивать общие права работы с информационной базой (такие как «Тонкий клиент», «Толстый клиент», «Интерактивное открытие внешних обработок» и т.д.), то в конфигурации должны быть определены отдельные роли для предоставления этих прав. Такие роли не предназначены для самостоятельного использования, их следует назначать пользователям совместно с остальными ролями конфигурации.
Конфигурация должна быть одинаково рассчитана на работу как при наличии этих ролей, так и в условиях отсутствия любой из этих ролей у пользователя.
3.1. Администрирование (англ. Administration) - предоставляет права «Администрирование», «Администрирование данных», «Администрирование расширений конфигурации» и «Активные пользователи».
3.2. ВыводНаПринтерФайлБуферОбмена (англ. OutputToPrinterFileClipboard) - предоставляет право «Вывод».
3.3. ЗапускAutomation (англ. StartAutomation) - предоставляет право «Automation».
3.4. ЗапускВебКлиента (англ. StartWebClient)- предоставляет право «Веб-клиент».
3.5. ЗапускВнешнегоСоединения (англ. StartExternalConnection) - предоставляет право «Внешнее соединение»
3.6. ЗапускТолстогоКлиента (англ. StartThickClient)- предоставляет право «Толстый клиент».
3.7. ЗапускТонкогоКлиента (англ. StartThinClient) - предоставляет право «Тонкий клиент».
3.8. ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок (англ. InteractiveOpenExternalReportsAndDataProcessors) - предоставляет права «Интерактивное открытие внешних обработок» и «Интерактивное открытие внешних отчетов».
3.9. ОбновлениеКонфигурацииБазыДанных (англ. UpdateDatabaseConfiguration) - предоставляет право «Обновление конфигурации базы данных».
3.10. ПросмотрЖурналаРегистрации (англ. ViewEventLog) - предоставляет право «Журнал регистрации».
3.11. РежимТехническогоСпециалиста (англ. TechnicalSpecialistMode) - предоставляет право «Режим технического специалиста». Этот режим предназначен только для разработчиков/внедренцев и для разбора нештатных ситуаций, поэтому конфигурация должна обеспечивать работу пользователей без использования этого режима. Например, все стандартные обработки (удаление помеченных, управление итогами и агрегатами и т.п.) должны быть доступны соответствующим пользователям в разделах интерфейса программы.
3.12. СохранениеДанныхПользователя (англ. SaveUserData) - предоставляет право «Сохранение данных пользователя». Рекомендуется предоставлять эту роль всем категориям пользователей, за редким исключением, когда требуется явно запретить настройку пользовательского интерфейса и любые другие персональные настройки таким образом, чтобы работа пользователя не оставляла никаких «следов» в информационной базе. Как правило, такой режим работы требуется для внешних или временных пользователей (респонденты, аудиторы и пр.) или для пользователей, работающих по тем или иным причинам под одной учетной записью.
Конфигурация должна быть рассчитана на работу пользователей без роли (права) СохранениеДанныхПользователя. В случае если конфигурация обращается из кода
- к пользовательским настройкам (сохранение и загрузка из различных хранилищ настроек: ХранилищеОбщихНастроек, ХранилищеВариантовОтчетов, ХранилищеНастроекДанныхФорм, ХранилищеПользовательскихНастроекОтчетов, ХранилищеСистемныхНастроек)
- к истории работы пользователя (ИсторияРаботыПользователя) и избранному (ИзбранноеРаботыПользователя)
- к пользовательским настройкам отчетов (метод УстановитьТекущиеПользовательскиеНастройки расширения управляемой формы для отчета)
то при отсутствии у пользователя права СохранениеДанныхПользователя, этот код должен быть пропущен таким образом, чтобы это не оказывало влияния на основные сценарии работы пользователя. Кроме того, если в конфигурации предусмотрены пользовательские интерфейсы или отдельные элементы форм для работы с пользовательскими настройками (история вводимых значений, флажки «Запомнить мой выбор» и пр.), то они не должны быть доступны пользователям без права СохранениеДанныхПользователя.
При использовании в конфигурации Библиотеки стандартных подсистем можно также воспользоваться функциями ХранилищеОбщихНастроекЗагрузить и ХранилищеОбщихНастроекСохранить общего модуля ОбщегоНазначения.
См. также: Работа с пользовательскими настройками
4.1. В тех случаях когда определенным пользователям требуется временный или постоянный доступ на просмотр всех данных информационной базы без ограничений, рекомендуется поставлять в составе конфигурации отдельные роли. Например, это может быть временный доступ для аудитора, постоянный – для собственника или директора организации.
4.2. В простейшем случае, когда роли в конфигурации соответствуют должностным обязанностям пользователей (Директор, Бухгалтер, Кладовщик и т.п.), должна быть добавлена отдельная роль ТолькоПросмотр (англ. ViewOnly).
Роль ТолькоПросмотр должна включать права Чтение, Использование, Просмотр, Ввод по строке (если применимо) для большинства объектов метаданных (за исключением тех данных, которые никогда не выводятся пользователю, а используются в конфигурации только в технологических целях, и поэтому доступ к ним осуществляется всегда в привилегированном режиме).
4.3. В конфигурациях, в которых роли соответствуют более «мелким» отдельным функциям (совокупность которых образует набор прав для конкретной категории пользователей), рекомендуется назначать пользователям комбинацию ролей, которые предоставляют доступ только на чтение (например, ЧтениеПроизводственныхДокументов, ЧтениеСкладскихДокументов, ЧтениеКассовыхДокументов и т.п.). Рекомендуется поставлять в составе конфигурации типовые комбинации таких ролей (например, готовый профиль для аудитора, собственника, директора и т.п.)
При этом для неограниченного доступа на просмотр всех данных информационной базы для таких пользователей нужно отключать (не задавать) условия ограничения доступа на уровне записей (RLS).
5. Ни в одной роли, включая ПолныеПрава и АдминистраторСистемы, не должно быть установлено (кроме отдельных обоснованных случаев) следующих прав:
- Право интерактивного удаления
- Интерактивное удаление предопределенных данных
- Интерактивная пометка удаления предопределенных данных
- Интерактивное снятие пометки удаления предопределенных данных
- Интерактивное удаление помеченных предопределенных данных
Право удаления рекомендуется оставить только в ролях ПолныеПрава и АдминистраторСистемы.
Стандартные роли в расширениях конфигурации
6. При разработке расширений конфигурации не рекомендуется заимствовать и изменять роли АдминистраторСистемы и ПолныеПрава. Вместо этого необходимо добавить в расширение собственные роли по следующему принципу.
6.1. В простейшем случае, если права на все объекты расширения одинаковы для всех категорий пользователей, то создать одну роль с указанным именем, настроить в ней необходимые права на объекты расширения и включить ее в основные роли расширения:
- <ПрефиксРасширения>ОбщиеПрава
6.2. Если права на объекты расширения различаются для администратора и пользователей, то создать две роли с именами:
- <ПрефиксРасширения>ПолныеПрава (включить в основные роли расширения)
- <ПрефиксРасширения>БазовыеПрава
6.3. Если права на объекты расширения различаются для администратора, пользователей и внешних пользователей (см. подробнее документацию Библиотеки стандартных подсистем), то создать три роли с именами:
- <ПрефиксРасширения>ПолныеПрава (включить в основные роли расширения)
- <ПрефиксРасширения>БазовыеПрава
- <ПрефиксРасширения>БазовыеПраваВнешнихПользователей
6.4.1. В конфигурациях на базе Библиотеки стандартных подсистем роли расширений из пп. 6.1-6.3 автоматически включаются в профили групп доступа при установке расширений в информационную базу:
- Роль <ПрефиксРасширения>ОбщиеПрава включается во все профили с ролями БазовыеПраваБСП, БазовыеПраваВнешнихПользователейБСП, ПолныеПрава.
- Роль <ПрефиксРасширения>БазовыеПрава включается в профили с ролью БазовыеПраваБСП.
- Роль <ПрефиксРасширения>БазовыеПраваВнешнихПользователей включается в профили с ролью БазовыеПраваВнешнихПользователейБСП.
- Роль <ПрефиксРасширения>ПолныеПрава включается в профили с ролью ПолныеПрава.
6.4.2. Кроме того, если в расширении требуются гибкая настройка прав доступа, то следует дополнительно спроектировать и создать любые необходимые прикладные роли. При этом такие роли не включаются в профили групп доступа автоматически, но возможно программно дополнить ими поставляемые профили или интерактивно назначить их в справочнике Профили групп доступа.
6.5. В конфигурациях без использования Библиотеки стандартных подсистем (или без использования профилей) роли расширений из пп. 6.1-6.3 следует аналогично назначать пользователям ИБ программно средствами встроенного языка или интерактивно. Тем самым, разработанное расширение конфигурации может быть единообразно, без каких-либо доработок состава ролей, подключено в конфигурации как на базе Библиотеки стандартных подсистем, так и без нее.